#ifndef FillStyle_H
#define FillStyle_H
#include "type.h"
#include "Color.h"
#include "Matrix.h"
#include "SwfObject.h"
namespace swfstream {
class FillStyle: public SwfObject {
public:
	uint8 FillStyleType; ///< UI8 Type of fill style:0x00 = solid fill0x10 = linear gradient fill0x12 = radial gradient fill0x13 = focal radial gradient fill (SWF 8 file format and later only)0x40 = repeating bitmap fill0x41 = clipped bitmap fill0x42 = non-smoothed repeating bitmap0x43 = non-smoothed clipped bitmap
	Color *color; ///< If type = 0x00, RGBA (if Shape3); RGB (if Shape1 or Shape2)Solid fill color with opacity information.
	Matrix *GradientMatrix; ///< If type = 0x10, 0x12, or 0x13, MATRIXMatrix for gradient fill.
	//Gradient If type = 0x10 or 0x12, GRADIENT If type = 0x13, FOCALGRADIENT (SWF 8 and later only)Gradient fill.
	uint16 BitmapId; ///< If type = 0x40, 0x41, 0x42 or 0x43, UI16 ID of bitmap character for fill.
	Matrix* BitmapMatrix; ///< If type = 0x40, 0x41, 0x42 or 0x43, MATRIX Matrix for bitmap fill.
	void print();
	static FillStyle* from_file(FILE* f, int shape_version);
};
}
#endif
